package com.unina.is2.astafantaunina.utility;

import android.app.Activity;

public class ButtonState {

	private Boolean[] buttonRiprendi;
	private Boolean[] buttonAggiudicato;
	private Boolean[] buttonOfferta;
	private Boolean[] buttonOK;
	private String[] textGiocatore;
	private String[] textValore;
	private String[] textOfferente;
	
	private String[] portieri;
	private String[] difensori;
	private String[] centrocampisti;
	private String[] attaccanti;
	//sono abilitato a fare offerte
	private Boolean[] sonoAbilitato;
	
	private Boolean[] isAmministratore;
	private Boolean[] isActive;
	
	private String[] utentiLega;
	private String[] utentiConnessi;
	
	private Integer[] timer;
	
	private Boolean connessionePersa = false;
	
	private Activity loggedActivity = null;
	
	
	//SINGLETON
	private static ButtonState buttonState = null;
	
	//Configurazione iniziale dei button
	private ButtonState(int dim){
		buttonRiprendi = new Boolean[dim];
		buttonAggiudicato = new Boolean[dim];
		buttonOfferta = new Boolean[dim];
		buttonOK = new Boolean[dim];
		textGiocatore = new String [dim];
		textValore = new String [dim];
		textOfferente = new String [dim];
		sonoAbilitato = new Boolean[dim];
		isActive = new Boolean[dim];
		isAmministratore = new Boolean[dim];
		utentiLega = new String[dim];
		utentiConnessi = new String[dim];
		timer = new Integer[dim];
		
		portieri = new String[]{""};
		difensori = new String[]{""};
		centrocampisti = new String[]{""};
		attaccanti = new String[]{""};
		
		for (int i=0;i<dim;i++){
			buttonRiprendi[i] = false;
			buttonAggiudicato[i] = false;
			buttonOfferta[i] = false;
			buttonOK[i] = true;
			textGiocatore[i] = "";
			textValore[i] = "";
			textOfferente[i] = "";
			sonoAbilitato[i] = false;
			isActive[i] = false;
			isAmministratore[i] = false;
			utentiLega[i] = "";
			utentiConnessi[i] = "";
			timer[i] = 4000;
			
		}
		
	}
	
	public static ButtonState getButtonState(){
		return buttonState;
	}
	
	public static ButtonState getButtonState(int dim){
		if (buttonState==null){
			buttonState = new ButtonState(dim);
		}
		return buttonState;
	}
	
	public void setLoggedActivity(Activity a){
		loggedActivity = a;
	}
	
	public Activity getLoggedActivity(){
		return loggedActivity;
	}
	
	public Boolean getConnessionePersa(){
		return connessionePersa;
	}
	
	public void setConnessionePersa(Boolean x){
		connessionePersa = x;
	}
	
	public Integer getTimer(int i){
		return timer[i];
	}
	
	public String getUtentiLega(int i){
		return utentiLega[i];
	}
	
	public String getUtentiConnessi(int i){
		return utentiConnessi[i];
	}
	
	public boolean getIsAmministratore(int i){
		return isAmministratore[i];
	}
	
	public boolean getIsActive(int i){
		return isActive[i];
	}
	
	public boolean getButtonRiprendi(int i){
		return buttonRiprendi[i];
	}
	
	public boolean getButtonAggidicato(int i){
		return buttonAggiudicato[i];
	}
	
	public boolean getButtonOfferta(int i){
		return buttonOfferta[i];
	}
	
	public boolean getButtonOK(int i){
		return buttonOK[i];
	}
	
	public String getTextGiocatore(int i){
		return textGiocatore[i];
	}
	
	public String getTextValore(int i){
		return textValore[i];
	}
	
	public String getTextOfferente(int i){
		return textOfferente[i];
	}
	
	public Boolean getSonoAbilitato(int i){
		return sonoAbilitato[i];
	}
	
	public String[] getPortieri(){
		return portieri;
	}
	
	public String[] getDifensori(){
		return difensori;
	}
	
	public String[] getCentrocampisti(){
		return centrocampisti;
	}
	
	public String[] getAttaccanti(){
		return attaccanti;
	}
	
	public void setIsAmministratore(boolean x, int i){
		isAmministratore[i] = x;
	}
	
	public void setIsActive(boolean x, int i){
		isActive[i] = x;
	}
	
	public void setButtonRiprendi(boolean x, int i){
		buttonRiprendi[i] = x;
	}
	
	public void setButtonAggiudicato(boolean x, int i){
		buttonAggiudicato[i] = x;
	}
	
	public void setButtonOfferta(boolean x, int i){
		buttonOfferta[i] = x;
	}
	
	public void setButtonOK(boolean x, int i){
		buttonOK[i] = x;
	}
	
	public void setTextGiocatore(String x, int i){
		textGiocatore[i] = x; 
	}
	
	public void setTextValore(String x, int i){
		textValore[i] = x; 
	}
	
	public void setTextOfferente(String x, int i){
		textOfferente[i] = x; 
	}
	
	public void setSonoAbilitato(boolean x, int i){
		sonoAbilitato[i] = x;
	}
	
	public void setPortieri(String[] lista){
		portieri = new String[lista.length];
		for (int i=0; i<lista.length;i++)
		portieri[i] = lista[i];
		System.out.println("ButtonState: SET PORTIERI");
	}
	
	public void setDifensori(String[] lista){
		difensori = new String[lista.length];
		for (int i=0; i<lista.length;i++)
		difensori[i] = lista[i];
		System.out.println("ButtonState: SET DIFENSORI");
	}
	
	public void setCentrocampisti(String[] lista){
		centrocampisti = new String[lista.length];
		for (int i=0; i<lista.length;i++)
		centrocampisti[i] = lista[i];
		System.out.println("ButtonState: SET CENTROCAMPISTI");
	}
	
	public void setAttaccanti(String[] lista){
		attaccanti = new String[lista.length];
		for (int i=0; i<lista.length;i++)
		attaccanti[i] = lista[i];
		System.out.println("ButtonState: SET ATTACCANTI");
	}
	
	public void setUtentiLega(String utenti, int i){
		utentiLega[i] = utenti;
	}
	
	public void setUtentiConnessi(String utenti_connessi, int i){
		utentiConnessi[i] = utenti_connessi;
	}
	
	public void setTimer(int valore, int i){
		timer[i] = valore;
	}
}

